layui.use(['form','layer','table','laytpl'],function(){
    var form = layui.form,
        layer = parent.layer === undefined ? layui.layer : top.layer,
        $ = layui.jquery,
        laytpl = layui.laytpl,
        table = layui.table;

    //用户列表
    var tableIns = table.render({
        elem: '#userList',
        url : '/user/getUserList',
        cellMinWidth : 95,
        page : true,
        height : "full-125",
        limits : [10,15,20,25],
        limit : 20,
        id : "userListTable",
        cols : [[
            {type: "checkbox", fixed:"left", width:50},
            {field: 'id', title: '用户ID', minWidth:100, align:"center"},
            {field: 'nickname', title: '昵称', minWidth:100, align:"center",edit: 'text'},
            {field: 'email', title: '用户邮箱', minWidth:200, align:'center',templet:function(d){
                return '<a class="layui-blue" href="mailto:'+d.email+'">'+d.email+'</a>';
            }},
            {field: 'type', title: '用户状态',  align:'center',edit: 'text',templet:function(d){
                return d.type == "1" ? "正常使用" : "限制使用";
            }},
            {field: 'role', title: '用户权限', align:'center',edit:'text',templet:function(d){
                if(d.role == "admin"){
                    return "管理员";
                }else if(d.role == "user"){
                    return "普通会员";
                }else{
                    return d.role;
                }
            }},
            {field: 'created', title: '注册时间', align:'center',minWidth:150,sort:true},
            {title: '操作', minWidth:175, templet:'#userListBar',fixed:"right",align:"center"}
        ]]
    });

    //搜索【此功能需要后台配合，所以暂时没有动态效果演示】
    $(".search_btn").on("click",function(){
        if($(".searchVal").val() != ''){
            table.reload("newsListTable",{
                page: {
                    curr: 1 //重新从第 1 页开始
                },
                where: {
                    key: $(".searchVal").val()  //搜索的关键字
                }
            })
        }else{
            layer.msg("请输入搜索的内容");
        }
    });

    //添加用户
    function addUser(edit){
        var index = layui.layer.open({
            title : "添加用户",
            type : 2,
            content : "/a/userAdd",
            success : function(layero, index){
                var body = layui.layer.getChildFrame('body', index);
                if(edit){
                    body.find(".userName").val(edit.nickname);  //登录名
                    body.find(".userEmail").val(edit.email);  //邮箱
                   // body.find(".userSex input[value="+edit.userSex+"]").prop("checked","checked");  //性别
                    body.find(".userGrade").val(edit.userGrade);  //会员等级
                    body.find(".userStatus").val(edit.type);    //用户状态
                    body.find(".userDesc").text(edit.userDesc);    //用户简介
                    form.render();
                }
                setTimeout(function(){
                    layui.layer.tips('点击此处返回用户列表', '.layui-layer-setwin .layui-layer-close', {
                        tips: 3
                    });
                },500)
            }
        });
        layui.layer.full(index);
        window.sessionStorage.setItem("index",index);
        //改变窗口大小时，重置弹窗的宽高，防止超出可视区域（如F12调出debug的操作）
        $(window).on("resize",function(){
            layui.layer.full(window.sessionStorage.getItem("index"));
        })
    }
    $(".addNews_btn").click(function(){
        addUser();
    });

    //批量删除
    $(".delAll_btn").click(function(){
        var checkStatus = table.checkStatus('userListTable'),
            data = checkStatus.data,
            newsId = '';
        if(data.length > 0) {
            for (var i in data) {
                newsId += (data[i].id) + '-';
            }
            layer.confirm('确定删除选中的用户？', {icon: 3, title: '提示信息'}, function (index) {
                // console.log(newsId);
                $.ajax({
                    url : "/user/user",
                    data: newsId,
                    type: "DELETE",
                    dataType: 'json',
                    contentType: 'application/json;charset=UTF-8',
                   success : function (res) {
                       layer.msg(res.msg);
                       if (res.code === 200 ){
                           tableIns.reload();
                       }
                   }
                });
                layer.close(index);
                return false;
            })
        }else{
            layer.msg("请选择需要删除的用户");
        }
    });

   function updateUser(data){
       $.ajax({
           url :'/user/user',
           data :JSON.stringify({
               id : data.id,
               email : data.email,
               nickname : data.nickname,
               //password : data.password,  //密码只能由用户自己通过验证邮箱改
               role : data.role,
               type : data.type }),
           type : 'PUT',
           dataType: 'json',
           contentType: 'application/json;charset=UTF-8',
           success:function (res) {
           if (res.code === 200){
               setTimeout(function(){
                   layer.msg("更新成功！");
                   window.location.reload();
               },2000);
           } else {
               setTimeout(function(){
                   layer.msg(res.msg);
               },2000);
           }
          }
       });
       return false;
   }

    //列表操作
    table.on('tool(userList)', function(obj){
        var layEvent = obj.event,
            data = obj.data;

        if(layEvent === 'edit'){ //更新
            updateUser(data);
        }/*else if(layEvent === 'usable'){ //启用禁用
            var _this = $(this),
                usableText = "是否确定禁用此用户？",
                btnText = "已禁用";
            if(_this.text()=="已禁用"){
                usableText = "是否确定启用此用户？",
                btnText = "已启用";
            }
            layer.confirm(usableText,{
                icon: 3,
                title:'系统提示',
                cancel : function(index){
                    layer.close(index);
                }
            },function(index){
                _this.text(btnText);
                layer.close(index);
            },function(index){
                layer.close(index);
            });
        }*/else if(layEvent === 'del'){ //删除
            layer.confirm('确定删除'+ data.id +'用户？',{icon:3, title:'提示信息'},function(index){
                $.ajax({
                    url : "/user/user",
                    data: data.id,
                    type: "DELETE",
                    dataType: 'json',
                    contentType: 'application/json;charset=UTF-8',
                    success : function (res) {
                        layer.msg(res.msg);
                        if (res.code === 200 ){
                            tableIns.reload();
                        }
                    }
                });
                layer.close(index);
                return false;
            });
        }
    });

});
